The present invention relates to microcontroller architectures suitable for implementation in an integrated circuit.
An integrated circuit is electrical circuitry formed on a single monolithic semiconductor substrate. An integrated circuit can be implemented with one or more cores, which perform their various functions, and circuitry for communicating with external devices. A core is building-block circuitry that generally provides a desired high-level function. For example, a processor core is circuitry that executes a set of instructions that implement a processor architecture.
A microcontroller is an integrated circuit device. It has a processor core and communications cores or devices for connecting to peripheral devices. Microcontrollers are commonly employed as a primary control chip in a wide variety of non-computer products such as printers, cellular phones, televisions, and automobiles.
Microcontrollers provide programmable control (through programming of the processor core) of peripheral devices connected to them. Such programming is conventionally done using an instruction set defined by an instruction set architecture (ISA) implemented by the microcontroller core. To distinguish the instructions defined by the ISA from microcode instructions that may be used to implement them, the ISA instructions will be referred to in this specification as macro instructions.
Modern microcontrollers incorporate not only a processor core and communications cores, but also incorporate other commonly-employed device circuitry, such as blocks of memory and programmable timers. Integrating previously discrete components may lead to cost savings in the final product, because fewer components are needed. However, integration may increase the number of distinct microcontroller chips (integrated circuit products) that have to be manufactured, as different customers desire different configurations of additional devices.
Microcontroller suppliers traditionally have offered families of chips that differ in their on-chip complement of peripheral devices—things like timers, pulse generators, and so on. Microcontroller chips that include programmable logic with a processor core are also available.